In many instances the manufacturer and/or proprietor of digital computer hardware may find it necessary or advantageous to exercise control over the nature, origin and/or quality of computer programs, data, or other software which is utilized with the hardware or, in some cases, to totally preclude the operation of certain software with the hardware.
The need to control software operation is particularly critical when the computer hardware is utilized to monitor or control the operation of moving or radiating equipment or other potentially dangerous instrumentalities where the uncontrolled use of software developed by a user or third party may expose the equipment manufacturer to liability claims. In many cases government or other certifications of equipment, for example, computerized medical equipment, are conditioned on the use of that equipment with particular software. A manufacturer's desire to control software use may also be based on commercial considerations. For example, a manufacturer may sell hardware at a small profit with the exception of recouping profits from the sale of software.
The computer industry has, for some time, utilized various protection code and password techniques to prevent unauthorized users from accessing and/or controlling programs and data at a particular hardware installation or for limiting the use of proprietory software to a particular installation. Those techniques generally require that a unique identification number be associated with each user and/or hardware installation. Their integrity also generally requires that the security of at least a portion of the system software or firmware (which contains and/or checks the password or identification number) be maintained. These prior art techniques are not, therefore, directly adoptable to preclude the use of unauthorized software on hardware systems which move outside of the proprietor's physical control and are thus subject to reverse engineering as, for example: video game consoles which are distributed to the consumer market.